home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
MEDICAL
/
2608A.ZIP
/
GP.ZIP
/
CHECKIM.SRC
< prev
next >
Wrap
Text File
|
1990-11-03
|
7KB
|
325 lines
;\|
;CHECKIM.SRC Translated from CHECKIM.EDT by Roger Mathew's EDT2SRC Ver 4.11
;NEW 00:35:59 AM 27/11/89
DO_DEFINES:
define(TD|D|10||)
define(CALC2|N|5|2|)
define(CALC|N|5|2|)
define(AGE|N|6|2|)
define(REC_DATE|N|4||)
define(REC_FIELD|A|15||)
define(FLAG1|N|2||)
define(TOT_RECORDS|N|8||)
define(TARGET|N|3||)
define(TO_DATE|S|8||)
define(NUMBER|N|8||)
define(PAGE|N|5||)
define(SELECT_FROM1|D|10||)
define(SELECT_THRU1|D|10||)
define(SELECT_DR|N|1||)
define(SORT_BY|N|5||)
define(PERCENT1|N|6|2|)
define(PERCENT|N|6|2|)
define(SORT_BY_TEXT|A|15||)
define(AGE1|N|6|2|)
define(MENU_HLDR|A|27||5)
define(MATCHING_RECS|N|4||)
OPEN_FILES:
open(RECALLS|||)
open(PATIENT|||)
date(TD|G)
trap(Q|G|EXIT2)
MOUNT_SCR:
mount(SELECT|S)
pmsg(" F1 - Help ESC - Exit "|1|25|N|Y|S|)
START:
SORT_BY_TEXT = (DATE.OF.BIRTH)
enter(TO_DATE||||N|N|N|||N)
SELECT_THRU1 = (TO_DATE-90)
SELECT_FROM1 = (TO_DATE-2190)
SELECT_DR = (1)
enter(SELECT_FROM1|||START|||||)
enter(SELECT_THRU1||||||||)
MOUNT_RPT:
trap(I|G|EXIT2)
trap(P|S|PRT_TOF)
mount(NEW|R|P)
FIND_FIRST:
DATE.OF.BIRTH = (SELECT_FROM1)
find(G|DATE.OF.BIRTH|NO_RECS|)
PRT_DETAIL:
if SELECT_DR <> (0) then if DOCTOR <> (SELECT_DR) goto FIND_NEXT
if SELECT_FROM1 <> (0) then if DATE.OF.BIRTH < (SELECT_FROM1) goto FIND_NEXT
if SELECT_THRU1 <> (0) then if DATE.OF.BIRTH > (SELECT_THRU1) goto FINISH
gosub DO_RELATED
TOT_RECORDS = (TOT_RECORDS + 1)
FIND_NEXT:
find(N|PATIENT|FINISH)
goto PRT_DETAIL
ABORT_RPT:
pmsg(""|||N|N|D|)
pmsg(""|||N|N|D|)
pmsg(">>>>> Report was terminated before completion <<<<<"|||N|N|D|)
pmsg(""|||N|N|D|)
pmsg(""|||N|N|D|)
FINISH:
pblnk(2)
PERCENT1 = (MATCHING_RECS/TOT_RECORDS*100)
PERCENT = (100-PERCENT1)
pmsg(" TOTAL RECORDS MATCHING ";TOT_RECORDS|||N|N|D|)
pmsg(" RECORDS PRINTED; ";MATCHING_RECS|||N|N|D|)
pmsg(" PERCENTAGE COMPLETED ON TIME ETC: ";PERCENT|||N|N|P|)
PERCENT = (CALC-CALC2/CALC*100)
pmsg("PERCENTAGE COMPLETED BY FPC CRITERIA: ";PERCENT|1|1|N|N|P|)
trap(P|D)
ptof
EXIT:
SELECT_DR = (SELECT_DR+1)
if SELECT_DR > (4) then run("recmenu")
MATCHING_RECS = (0)
TOT_RECORDS = (0)
CALC = (0)
CALC2 = (0)
PERCENT = (0)
PERCENT1 = (0)
goto MOUNT_RPT
EXIT2:
run("recmenu")
DO_RELATED:
COD[3] = ("")
COD.D[3] = (0)
REC_FIELD = ("")
COD.REF = (RECORD.NUMBER)
find(M|COD.REF|NO_RFIND|N)
if COD[3] = ("B") do
{
CALC = (CALC+1)
ret
}
if COD.D[3] > (TO_DATE) ret
NEXT_TO:
gosub CHK_BREAK
ret
PRT_TOF:
pset(130|66|60)
pchr(P|1)
pfmt(1||||)
pfmt(3|||N|N|)
pfmt(5|||N|N|)
pfmt(6|||N|N|)
pfmt(7|||N|N|)
pfmt(3|||N|N|)
pfmt(2|||N|N|)
pfmt(3|||N|N|)
ret
CHK_BREAK:
if TO_DATE > (0) do
{
NUMBER = (TO_DATE-DATE.OF.BIRTH)
}
else
{
NUMBER = (TD-DATE.OF.BIRTH)
}
AGE1 = (365/12)
AGE = (NUMBER/AGE1/12)
if AGE < (6) do
{
if AGE > (4.99) do
{
CALC = (CALC+1)
gosub RECALC
}
}
if AGE < (3) do
{
if AGE > (1.99) do
{
CALC = (CALC+1)
gosub RECALC2
}
}
if COD[3] = ("1") goto BOOSTER
if COD[3] = ("2") goto BOOSTER
if COD[3] = ("3") goto BOOSTER
if COD[3] = ("M") goto BOOSTER
if COD[3] = ("B") goto BOOSTER
if COD[3] = ("BND") goto BOOSTER
REC_FIELD = ("EXCEPTION")
goto RET_PRINT
BOOSTER:
if NUMBER > (1642) do
{
if COD[3] = ("M") do
{
REC_FIELD = ("?BOOSTER")
goto RET_PRINT
}
else
{
if COD[3] = ("BND") do
{
REC_FIELD = ("?BOOSTER")
goto RET_PRINT
}
}
else
{
if COD[3] = ("3") do
{
REC_FIELD = ("?BOOSTER")
goto RET_PRINT
}
}
}
if NUMBER > (456) do
{
if COD[3] = ("3") do
{
REC_FIELD = ("?MMR/BSTR")
goto RET_PRINT
}
}
if NUMBER > (334) do
{
if COD[3] = ("2") do
{
REC_FIELD = ("?3RD TRP")
goto RET_PRINT
}
}
if NUMBER > (152) do
{
if COD[3] = ("1") do
{
REC_FIELD = ("?2ND TRP")
goto RET_PRINT
}
}
if NUMBER > (91) do
{
if COD[3] = ("") do
{
REC_FIELD = ("?1ST TRP")
goto RET_PRINT
}
}
ret
RET_PRINT:
MATCHING_RECS = (MATCHING_RECS+1)
pfmt(4|||N|N|)
ret
NO_RECS:
goto EXIT
NO_RFIND:
COD.REF = (0)
TOT_RECORDS = (TOT_RECORDS+1)
REC_FIELD = ("NO RECALL???")
pfmt(4|||N|N|)
pops
goto FIND_NEXT
ret
RECALC:
if COD[3] = ("B") ret
CALC2 = (CALC2+1)
ret
RECALC2:
if COD[3] = ("M") ret
CALC2 = (CALC2+1)
ret
\STSELECT
Selection Screen For
IMMUNISATION RESULTS FOR VARIOUS AGE GROUPS
════════════════════════════════════════════════════════════════════════════════
THIS WILL GIVE A PRINT OF EACH DOCTORS OUTSTANDING IMMUNISATIONS UP TO TODAY.
────────────────────────────────────────────────────────────────────────────────
Doctor : & 1,2,3,4
Where DATE.OF.BIRTH is From: & Always enter Oldest to
and DATE.OF.BIRTH is Thru: & youngest.
ENTER DATE YOU WANT REPORT UP TO:&
\
SELECT_DR
SELECT_FROM1
SELECT_THRU1
TO_DATE
\
\R NEW
IMMUNISATION EXCEPTION REPORT ON :& FOR DOCTOR &
PATIENT NAME ADDRESS AREA DATE/BIRTH CODE DATE STATUS STATUS AGE
===============================================================================================================================
& & & & [& ] & & &
THIS PROGRAM PRINTS OUT ALL IMMUNISATIONS THAT DO NOT APPEAR TO BE UP TO DATE ON :&
IT DOES NOT GIVE A LIST OF RECALLS DUE!!!!!!!! BUT INCLUDES DATE 0F BIRTH FROM :& TO :&
THESE SHOULD BE ATTENDED TO TODAY AND NONE SHOULD APPEAR ON THE NEXT PRINTOUT!!! AGES FROM 4.5 UP SHOULD HAVE A "B" FOR BOOSTER
\
TD
SELECT_DR
PATIENT.NAME
ADDRESS1
AREA
DATE.OF.BIRTH
COD[3]
COD.D[3]
REC_FIELD
AGE
TO_DATE
SELECT_FROM1
SELECT_THRU1
\